/*
 * Formiga.h
 *
 *  Created on: 04/02/2013
 *      Author: vagner
 */

#ifndef FORMIGA_H_
#define FORMIGA_H_
#include "Grafo.h"


namespace tp2cn {

class Formiga {
private:
	Formiga();
	int id;
	int posicaoAtual;
	int ultimaPosicao;
	int posicaoFormgueiro;
	static const float feromonioDeixado = 200.00;
public:
	Formiga(int& idFormiga, int posicaoFormigueiro);
	void caminha(std::vector<long double> vetorProb);
	void atualizaFeromonio(MyMatrix* matrizFeromonio,float & taxaEvaporacao, double& ultimaSolucao);
	void caminhaPara(int posicao);
	int getPosicaoAtual(void);
	int getPosicaoAnteior(void);
	int getID(void);
	void voltaAoFormigueiro(void);
	virtual ~Formiga();
};

} /* namespace tp2cn */
#endif /* FORMIGA_H_ */
